package com.zrrd.gmall.item.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

@Configuration
public class ThreadPoolConfig {
    //注入一个线程池对象
    //7个参数
    //1.核心线程数
    /*
    * 2.最大线程数
    * 3.空闲线程存活时间
    * 4.存活时间单位
    * 5.用于缓解阻塞的队列
    * 6.指定创建线程的工厂
    * 7.线程拒绝新加任务的策略（拒绝策略）
    *
    * */

    @Bean
    public ThreadPoolExecutor threadPoolExecutor(){

        return new ThreadPoolExecutor(50,500,30, TimeUnit.SECONDS,new ArrayBlockingQueue<>(10000));
    }
}
